Non Volatile Memory (NVM) arrays, such as EEPROM (Electrically Erasable Programmable Read Only Memory) and flash EEPROM arrays are known. It is also known that these memory technologies have a finite life expectancy in terms of the number of write or write/erase cycles that may be reliably performed on any one cell of the NVM array. When these arrays are used in applications where the number of write/erase cycles can exceed the life expectancy of the array, inadvertent failures of the array may occur.
It is known to provide spare memory cells in an array that may be used as alternative storage locations when a failure of a memory cell is detected, e.g., memory cell fails to properly write. In these instances a failure occurs before an alternate location is used. Some practitioners have proposed keeping track of the remaining number of spare memory cells and taking action (alert, shutdown, etc.) if this number drops below some number of remaining spare memory cells. It has been proposed to track the number of write/erase cycles for a sector of flash EEPROM and then utilize a spare sector of the array when the number approaches a specified life expectancy for the original sector. This approach tends to be overly pessimistic for a given NVM array.